package Negocio;

import Controlador.Sistema;
import Persistencia.AdmPersistenciaItemMineral;



public class ItemMineral implements ClaseNegocio {
	private long nroItem;
	private Mineral mineral;
	private double porcentaje;
	private Long nroLote;
	private String tipo;
	
	public ItemMineral (long ni, long m, double por, long lote, String tipo){
		this.nroItem = ni;
		findMineral(m);
		this.porcentaje = por;
		this.nroLote = lote;
		this.tipo = tipo;
	}
	
	public ItemMineral (long ni, Mineral m, double por, long lote, String tipo){
		this.nroItem = ni;
		this.mineral = m;
		this.porcentaje = por;
		this.nroLote = lote;
		this.tipo = tipo;
	}

	public long getNroItem() {
		return nroItem;
	}

	public void setNroItem(long nroItem) {
		this.nroItem = nroItem;
	}

	public Mineral getMineral() {
		return mineral;
	}

	public void setMineral(Mineral mineral) {
		this.mineral = mineral;
	}

	public double getPorcentaje() {
		return porcentaje;
	}

	public void setPorcentaje(double porcentaje) {
		this.porcentaje = porcentaje;
	}

	public Long getNroLote() {
		return nroLote;
	}

	public void setNroLote(Long nroLote) {
		this.nroLote = nroLote;
	}

	private void findMineral(long mineral) {
		this.mineral = Sistema.getInstancia().obtenerMineral(mineral); 
	}
	
	public ItemMineralView getView(){
		return new ItemMineralView(this);
	}

	public long getCodigo() {
		return nroItem;
	}

	public void setTipo(String tipo) {
		this.tipo = tipo;
	}

	public String getTipo() {
		return tipo;
	}

	public void insert(){
		Long codigo = AdmPersistenciaItemMineral.getInstancia().insertar(this);
		this.setNroItem(codigo);
	}
	
	public void update(){
		AdmPersistenciaItemMineral.getInstancia().modificar(this);
	}
	
	public void delete(){
		AdmPersistenciaItemMineral.getInstancia().borrar(this.nroItem);
	}
	
	
}
